package com.dcy.flyweight;

import java.util.HashMap;

/**
 * @Author：dcy
 * @Description: 网站工厂类，根据需求返回一个网站
 * @Date: 2021/1/25 8:45
 */
public class WebSiteFactory {

    /**
     * 集合，充当池得作用
     */
    private HashMap<String, ConcreteWebSite> pool = new HashMap<>();

    /**
     * 更加网站得类型，返回一个网站，如果没用就创建一个网站，并放入到池中
     *
     * @param type 类型
     * @return
     */
    public WebSite getWebSiteCategory(String type) {
        if (!pool.containsKey(type)) {
            pool.put(type, new ConcreteWebSite(type));
        }
        return pool.get(type);
    }

    /**
     * 获取网站分类得总数（池中有多少个网站类型）
     */
    public int getWebSiteCount() {
        return pool.size();
    }
}
